home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Tools / Development / renderlib40 / HISTORY < prev    next >
Encoding:
Text File  |  2003-02-14  |  22.1 KB  |  660 lines

  1.  
  2. history
  3. -----------------------------
  4.  
  5.     - morphos version 40.7 included
  6.  
  7.   40.7
  8.     - MixAlphaChannelA() now produces the intended behavior of
  9.       versions prior to v40. The old library was buggy too, and did
  10.       not handle a single second alpha channel correctly, as it
  11.       seems. Reported by Matthias Böcker.
  12.     - added GCC inline (fdpragma special 40). the proto file was
  13.       created using fdpragma special 35, and modified to include
  14.       the original SAS/C-style pragmas as well
  15.     - Morphos version 40.6 included
  16.     - turned around ratio argument interpretation in MixRGBArrayA().
  17.       it is now in compliance with the old version again. Reported
  18.       by Andreas Falkenhahn. note: some other functions with ratio
  19.       arguments are untested yet
  20.     - library base was NOT freed correctly in case of LibInit()
  21.       failure, now fixed
  22.  
  23.   40.6
  24.     - more changes from Gunther Nikl applied: debug macro, register
  25.       argument macro, padding of libbase fields, compiler warnings.
  26.     - reduced the excessive amount of automatic inlinings in the
  27.       gcc release build, which leads to a much smaller binary. this
  28.       also fixes the misplaced LibNull() entry, and the result is
  29.       still much faster than sas/c. okay, agreed, gcc is it.
  30.     - more source and build cleanups
  31.  
  32.   40.5
  33.     - CreateAlphaArrayA() has been fixed. a broken macro was used.
  34.       reported by Bernd Roesch.
  35.     - fixed a freemem(null) condition that showed up in MuForce.
  36.       reported by hexaae.
  37.     - improvements to the build procedure added by Gunther Nikl
  38.     - morphos version updated to 40.4
  39.  
  40.   40.4
  41.     - dithered rendering with neither RND_PenTable or
  42.       RND_OffsetColorZero rendered to a table of black pens. fixed.
  43.  
  44.   40.3
  45.     - morphos version compiled by Sigbjørn Skjæret. added.
  46.     - HAM8 rendering was not 100% accurate. should be correct now.
  47.     - added missing semaphore locks
  48.     - minor cleanup
  49.  
  50.   40.2
  51.     - the remaining alpha-channel functions have been implemented.
  52.     
  53.   40.1
  54.     - source added to the package.
  55.     - major overall performance improvements
  56.     - SortPalette() completed
  57.     - rendering to HAM6 and HAM8 has been completed. dithering to HAM
  58.       modes is no longer supported, sorry.
  59.     - tags to RGBArrayDiversity() and ChunkyArrayDiversity() did not
  60.       correctly handle palette/mapengine arguments. fixed.
  61.     - definitions added in render/render.h: CONV_NO_DATA, REND_NO_DATA
  62.  
  63.   40.0
  64.     - rewritten in C
  65.  
  66.  
  67. * 31.0
  68.     - simplified the over-complex quantization algorithm.
  69.       the new algorithm leads to similar results, with much
  70.       better performance
  71.  
  72.     - semaphores are (finally!) correctly initialized to zero
  73.     
  74.     - minor cleanup
  75.  
  76. * 30.0
  77.     - improved memory management: RMHTYPE_POOL allocations are
  78.       now internally semaphore-protected for cross-task
  79.       allocations. this allows guigfx.library (v16) to be reset
  80.       to pooled memory environment.
  81.  
  82.   29.1
  83.     - SortPalette() crashed with sort-modes that required a histogram,
  84.       and when the histogram was a non-TURBO type. this bug hasn't
  85.       been fixed, but 'de-implemented'. SortPalette() now returns
  86.       SORTP_NOT_IMPLEMENTED in this situation.
  87.     - bug fixed in the clib declaration of FreeRenderMem()
  88.  
  89. * 29.0
  90.     - version number bumped
  91.  
  92.   28.4
  93.     - RGBArrayDiversity() was broken, and it returned only nonsense.
  94.       it must have been out of order for eons. fixed.
  95.  
  96.     - fixed LMSGTYPE_LINE_FETCH linehook messages when applied to scaling
  97.       engines. RND_LMsg_row contained the destination row instead of
  98.       the source row. 
  99.  
  100.   28.3
  101.     - minor clean-ups
  102.  
  103.   28.2
  104.     - fixed overflow problems in texture-mapping engines
  105.       
  106.   28.1
  107.       - fixed EDD dithering with mapping-engines.
  108.       - FS-Dithering with mapping engines didn't render zigzag. fixed.
  109.  
  110.   28.0
  111.       - added EDD dithering. thanks to dante and axis
  112.         for the suggestion.
  113.       - implemented zigzag dithering for floyd-steinberg and EDD.
  114.         (zigzag rendering is not available in HAM modes.)
  115.  
  116.   27.3
  117.       - texturemapping-engines now handle triangles (i.e. when
  118.         one coordinate is specified twice).
  119.       - improved PALMODE_SIGNIFICANCE.
  120.  
  121. * 27.2
  122.       - fixed some semaphore lockup problems with palettes
  123.         and histograms accessed from different tasks. 
  124.  
  125.   27.1
  126.       - fixed a bug in MixAlphaChannel() with one alpha-channel enabled
  127.  
  128.   27.0
  129.       - added internal support functions.
  130.  
  131.   25.1
  132.       - fixed heavy bugs in the texturemapping code and
  133.         optimized it a lot.
  134.  
  135.   25.0
  136.     - implemented texture-mapping via scaling-engines.
  137.  
  138.   24.0
  139.       - added documentation for TintRGBArrayA().
  140.       - added texture-mapping [preliminary, for internal use only].
  141.  
  142.   23.1
  143.       - SortPalette() now uses and updates an already existing
  144.         p2Table. 
  145.  
  146.   23.0
  147.       - added TintRGBArrayA().
  148.  
  149. * 22.4
  150.       - fixed a minor bug when dithering with
  151.         (width % 4) != 0
  152.         - slightly optimized CLUT dither preparation code.
  153.     - slightly modified legal and author text files.
  154.     - added support site URL.
  155.  
  156.   22.3
  157.       - removed some lines of garbage from the HAM-dither code
  158.         that might have caused problems under certain conditions.
  159.  
  160. * 22.2
  161.     - completed autodocs for alpha-channel functions
  162.  
  163.   22.1
  164.       - the internal memcopy routine now handles odd lengths
  165.         and addresses to allow overlapping memory transfers
  166.         in all situations.
  167.  
  168.   22.0
  169.       - implemented CreateAlphaArray()
  170.      - implemented MixAlphaChannel()
  171.      - added tags RND_SourceWidth2, RND_AlphaChannel2,
  172.        RND_AlphaWidth2 and RND_AlphaModulo2 for 3-channel
  173.        alpha-channel operations. it is now possible to
  174.        do 'weighted' compositions with two alpha-channels!
  175.  
  176.   21.0
  177.       - implemented AllocRenderVecClear()
  178.       - added definition of PIXFMT_RGB_24 - this is currently
  179.         not supported by render.library, but required for
  180.         guigfx.library 1.92.
  181.  
  182.   20.3
  183.       - MixRGBArray and ApplyAlphaChannel heavily optimized for
  184.         superscalarity and few memory accesses
  185.       - Histogram creation could still corrupt memory, when
  186.         0xaarrggbb data were added. Fixed.
  187.  
  188.   20.2
  189.     - 'Debug' text file included to the documentation.
  190.     - clib/render_protos.h did not define a return value
  191.       for Chunky2RGB(). Fixed.
  192.     - some text files revised
  193.  
  194. * 20.1
  195.     - fixed FD, clib and pragma files for MixRGBArray().
  196.     - extended ApplyAlphaChannel().
  197.       The alpha-channel is still by default assumed to be
  198.       in the source array, but it may be explicitely set with
  199.       the new tag RND_AlphaChannel. The alphachannel pixel
  200.       modulo may be set with RND_AlphaModulo, and the
  201.       alpha-channel-array's total width can be specified with
  202.       RND_AlphaWidth.
  203.     - fixed ApplyAlphaChannel(), ExtractAlphaChannel() and
  204.       InsertAlphaChannel(): Registers were not preserved
  205.       correctly.
  206.     - tutorial lectored and slightly revised.
  207.  
  208.   20.0
  209.     - implemented MixRGBArray()
  210.     - fixed a bug in Render() and ConvertChunky() when
  211.       rendering with mapping-engines to (width & ~7) != 0
  212.  
  213.   19.9
  214.       - Due to an error in parsing the taglist, ConvertChunky()
  215.         did not use Mapping-Engines. Fixed.
  216.       - ApplyAlphaChannel() fixed.
  217.       - InsertAlphaChannel() function interface slightly modified.
  218.       - tutorial textfile included to the documentation
  219.     - minor optimizations
  220.  
  221.   19.8
  222.     - fixed a bug in Chunky2RGB(). The RND_LeftEdge tag
  223.       was not handled correctly in HAM modes.
  224.       - added InsertAlphaChannel(), ExtractAlphaChannel() and
  225.         ApplyAlphaChannel()
  226.       - Mapping-Engines may be passed to Render() and
  227.         ConvertChunky() now.
  228.       - improved FS-Dithering performance: error calculation
  229.         and shifting now takes place in registers solely. with a
  230.         mapping-engine supplied, the code now fits to a
  231.         68020/68030 instruction cache.
  232.  
  233.   19.7
  234.     - Render() and ConvertChunky() now accept RND_ScaleEngine
  235.       as an additional tag argument. This allows scaling and
  236.       rendering in a single pass. The scaling-engine is
  237.       defined to be applied to to the source data.
  238.     - Scale() now handles RND_LineHook, and it has got a
  239.       returncode.
  240.  
  241.   19.6
  242.     - supplied Chunky2RGB() with RND_LineHook tag
  243.     - ImportPalette() and ExportPalette() PALFMT_RGB4
  244.       were broken. Fixed.
  245.     - implemented PALFMT_PALETTE for ImportPalette().
  246.     - Updated all text files.
  247.     - Lectored and revised autodocs.
  248.     - Added tag RND_Weight for AddHistogram().
  249.     - BestPen() did not work at all. Fixed.
  250.     - BestPen() no longer creates a p2table, but it
  251.       will use it when available.
  252.  
  253.   19.5
  254.     - slightly improved Chunky2RGB() speed in HAM modes
  255.     - included ChunkyArrayDiversity().
  256.     - included MapChunkyArray().
  257.     - Heavy bug removed from ConvertChunky().
  258.  
  259.   19.4
  260.         - AddRGBImage() no longer violates memory with
  261.           0xARGB (A=Alphachannel) data.
  262.         - prevented Render() from false rendering
  263.           with 0xARGB (A=Alphachannel) data. 
  264.         - Updated autodocs for mapping-engines.
  265.         - Implemented RGBArrayDiversity() for Mapping-Engines
  266.           and Palettes.
  267.         - one more bug removed from the palette administration
  268.           code. "Zu wahr um schön zu sein" [I. Jache]
  269.         - removed a small bug in the mapping-engine's
  270.           palette-update-administration code for
  271.           mapping-engines that are coupled with a histogram.
  272.         - added Roadmap.GIF to the documentation.
  273.         - updated autodocs for RGBArrayDiversity().
  274.         - updated memory information text file.
  275.         - updated CPU information text file.
  276.         - CreateMapEngine() no longer handles RND_PenTable.
  277.           This tag has to be passed to MapRGBArray() instead.
  278.  
  279.   19.3
  280.     - Finally- got- rid- of- that- $%^&?#§- palette- bug-
  281.       "I can't eat as much as I want to puke" [Liebermann]
  282.     - Updated legal information text file.
  283.  
  284.   19.2
  285.     - another memory violation bug removed from the
  286.       palette administration code.
  287.  
  288.   19.1
  289.         - ConvertChunky() did not semaphore-protect the
  290.           destination palette correctly. Fixed.
  291.         - Render() did not semaphore-protect the destination
  292.           palette correctly. Exclusive and shared locks to the
  293.           palette nested, and this won't work prior to exec v39.
  294.         - Removed a serious bug inside the palette-buffer
  295.           administration code that was introduced in v19.0
  296.  
  297.   19.0
  298.     - SortPalette() did not semaphore-protect its palette
  299.       and did not invalidate the palette's buffers. Fixed.
  300.         - ConvertChunky() has got a returncode now.
  301.     - Introduced a new functional class: Mapping-Engines.
  302.       Mapping-Engines are low-level conversion units which
  303.       provide mindblasting render speed.
  304.       New functions: CreateMappingEngine(),
  305.       DeleteMappingEngine(), MapRGBArray()
  306.  
  307.   18.9
  308.     - minor bug in HSTYPE_12BIT_TURBO interpolation code fixed.
  309.       The blue component was not correctly interpolated -
  310.       2 bits were missing.
  311.     - Speed heavily improved for most histogram-related functions.
  312.       Especially AddRGBImage() is significantly faster.
  313.  
  314.   18.8
  315.       - ConvertChunky() has been rewritten. Now it is equivalent
  316.         to Render(), except for that it does accept chunky data
  317.         as input and is not able to render to HAM modes. Finally,
  318.         there is no need to convert chunky data to RGB when
  319.         dithering is required.
  320.         ConvertChunky() handles the following additional tags:
  321.         RND_DitherMode, RND_DitherAmount, RND_ProgressHook,
  322.         RND_LineHook, RND_OffsetColorZero. In addition to that,
  323.         the dest-palette's pen-adaptor is correctly handled
  324.         and updated. ConvertChunky() itself is slower than
  325.         before, but overall performance should be better when
  326.         called multiple times.
  327.  
  328.   18.7
  329.       - 18.4 did NOT fix the mentioned bug. Thanks again to
  330.         Stefan Sommerfeld. This bug did not occur in the
  331.         68060 version and I didn't get rid of it. Now fixed.
  332.       - REND_CALLBACK_ABORTED wasn't returned when a 
  333.         Progress-Callback was aborted in Render(). Fixed.
  334.  
  335. * 18.6
  336.     - v18.5 bug removed that produced false dithering with
  337.       15Bit / 18Bit palettes in COLORMODE_CLUT
  338.  
  339.   18.5
  340.       - Render speed improved by up to 40% (depending on the CPU
  341.         and the selected render mode). Remarkably faster on 68060
  342.         systems and CLUT without dithering.
  343.  
  344.   18.4
  345.         - fixed a bug in CreateScaleEngine(). Registers were not
  346.           preserved correctly. Thanks to Stefan Sommerfeld who reported
  347.           this bug.
  348.  
  349.   18.3
  350.     - major internal rework in preparation for new dither modes
  351.       and other features.
  352.  
  353.   18.2
  354.       - Now line hooks have to return TRUE or FALSE for
  355.         continuation respective abortion.
  356.  
  357.   18.1
  358.     - Improved line hooks. A line hook is called twice now:
  359.       Once before rendering a line (msgtype LMSGTYPE_LINE_FETCH),
  360.       once after rendering a line (msgtype LMSGTYPE_LINE_RENDERED).
  361.       This solves many outstanding problems:
  362.       Now you can convert, draw, render, save etc. in a single go,
  363.       and there's no need to have intermediate buffers to keep
  364.       a complete image in memory.
  365.       Also read the annotations in renderhooks.h
  366.  
  367.   18.0
  368.       - removed bug from the 68020 version: Quantization
  369.         crashed without FPU.
  370.       - implemented random dithering (DITHERMODE_RANDOM). 
  371.         New Tag: RND_DitherAmount (Range 0-255).
  372.         The code is not satisfyingly optimized yet.
  373.     - fixed several minor problems
  374.  
  375.   17.6
  376.       - implemented RND_PenTable for Chunky2RGB(). This tag is
  377.         currently not defined for HAM modes.
  378.       - Major internal rework of Render(). Now the
  379.         generalized-line-conversion-interface is used.
  380.       - RND_LineHook implemented to Render().
  381.  
  382.   17.5
  383.       - implemented RND_PenTable tag for Render().
  384.  
  385.   17.4
  386.     - updated the 'legal' text file.
  387.     - minor autodoc changes
  388.  
  389. * 17.3
  390.     - implemented ScaleOrdinate().
  391.  
  392.   17.2
  393.     - removed a bug that occured when a progress hook was aborted
  394.       inside AddChunkyImage: I freed a semaphore that wasn't obtained.
  395.       "Needless to say, havoc breaks out [...]" (exec doc)
  396.  
  397.   17.1
  398.     - minor corrections with the FD and LVO files:
  399.       SortPalette renamed to SortPaletteA, AddHistogram renamed
  400.       to AddHistogramA.
  401.  
  402.   17.0
  403.     - Implemented AddHistogram()
  404.  
  405.   16.3
  406.     - More bugs removed from SortPalette():
  407.       - PALMODE_SIGNIFICANCE crashed in the 68020 and 68040 versions. Fixed.
  408.       - PALMODE_SATURATION did not work at all. Fixed.
  409.       - Bugs removed from PALMODE_POPULARITY and PALMODE_SIGNIFICANCE.
  410.  
  411. * 16.2
  412.     - initial public beta release.
  413.     - removed heavy bugs from SortPalette().
  414.  
  415.   16.1
  416.       - fixed problems with RND_ColorOffsetZero 
  417.  
  418.   16.0
  419.     - mainly cosmetic. major reworks and clean-ups to
  420.       autodoc and includes
  421.  
  422.   15.2
  423.     - Removed a heavy bug from AddRGBImage() that caused
  424.       random crashes.
  425.     - 24bit scaling implemented. The new tag is
  426.       RND_PixelFormat, valid types are PIXFMT_CHUNKY_CLUT
  427.       and PIXFMT_0RGB_32.
  428.  
  429.   15.1
  430.     - The scaling code has been rewritten completely.
  431.       Scaling engines use the generalized conversion system.
  432.       All scaling functions are highly accurate now.
  433.       Horizontal enlarge is significantly faster than before.
  434.  
  435.   15.0
  436.     - introduced a new generalized concept for
  437.       line-oriented conversion functions (internal).
  438.     - Chunky2RGB has been completely rewritten due to this
  439.       new concept. The HAM conversion is much faster now.
  440.     - Added RGB_ProgressHook tag to Chunky2RGB.
  441.     - implemented PMSGTYPE_LINES_CONVERTED.
  442.     - Chunky2RGB has got a returncode (CONV_...).
  443.     - updated the renderhooks include files.
  444.     - finally implemented EXTP_CALLBACK_ABORTED
  445.  
  446.   14.4
  447.     - removed bug from SortPalette().
  448.     - implemented PALMODE_SATURATION sort mode.
  449.  
  450.   14.3    
  451.     - Implemented SortPalette(). RND_PaletteMode is obsolete.
  452.     - New tag for ExtractPalette(): RND_RMHandler. This tag
  453.       specifies a custom memory handler for quantization.
  454.       Default is the histogram's memhandler.
  455.     - EXTP_SORTING_FAILED is obsolete.
  456.     - Default for RND_NewPalette is toggled to TRUE for
  457.       backwards compatibility.
  458.  
  459.   14.2
  460.     - removed heavy bug from AddChunkyImage() that could
  461.       produce completely corrupt histograms.
  462.  
  463.     - introduced PALMODE_SIGNIFICANCE. In this mode, a palette's
  464.       entries are sorted by their optical significance for the
  465.       human eye. This is helpful for many purposes, e.g. you get
  466.       excellent results with ObtainBestPen() if you allocate
  467.       a palette in this sequence.
  468.     - fixed a memory-corruption bug in the quantization code.
  469.  
  470.   14.1
  471.     - RND_NumColors is used instead of RND_NumEntries.
  472.       RND_NumEntries is obsolete. RND_FirstEntry has
  473.       been renamed to RND_FirstColor.
  474.  
  475.   14.0
  476.     - implemented RND_FirstEntry tag for ExtractPalette(),
  477.       ImportPalette() and ExportPalette().
  478.     - implemented RND_NumEntries tag for ImportPalette()
  479.     - implemented semaphore protection for histograms and
  480.       palettes
  481.     - lots of internal reorganization and clean-up
  482.     - implemented FlushPalette()
  483.     - implemented the RND_NewPalette tag for ImportPalette().
  484.  
  485.   13.0
  486.     - fixed minor problems with offset_color_zero and
  487.       p2table-adaption
  488.     - fixed minor problems with ConvertChunky() and
  489.       CreatePenTable() with a secondary pen conversion table
  490.       specified.
  491.     - implemented CountRGB()
  492.     - implemented BestPen()
  493.     - fixed minor problems with CreatePalette()
  494.     - FD and pragma for CreatePenTable() was corrupt. Fixed.
  495.     - CreatePenTable() has been slightly optimized.
  496.  
  497.   12.0
  498.     - adapted CreatePenTable() to palette objects.
  499.     - removed a deadly bug from ImportPalette().
  500.     - added RND_EHBPalette tag for ImportPalette().
  501.     - updated all includes and autodocs.
  502.     - ModifyHistogram() is obsolete. It has been removed.
  503.     - The function interface for QueryHistogram() has been
  504.       changed. You do no longer pass a taglist, but instead
  505.       a single tag argument.
  506.     - Parts of the code have been cleaned up.
  507.  
  508.   11.0
  509.     - adapted autodocs and includes to palette objects.
  510.     - adapted AddChunkyImage to use palette objects.
  511.       AddChunkyImage has been completely rewritten and
  512.       optimized.
  513.  
  514.   10.0
  515.     - adapted Render() to palette objects. 
  516.  
  517.   0.81
  518.     - removed the v0.80 speed-up. It didn't work together with
  519.       the low-memory adaption system.
  520.     - Introduced new functions: CreatePalette(),
  521.       DeletePalette(), ImportPalette(), ExportPalette().
  522.     - Modified ExtractPalette() to operate with palette objects.
  523.  
  524.   0.80
  525.     - The major changes in v0.79 introduced a bug that occured
  526.       when you rendered to HAM modes. This has been fixed.
  527.     - Rendering to CLUT with dither has been sped up.
  528.  
  529.   0.79
  530.     - The color-adaption code was heavily broken for odd
  531.       numbers of palette entries (68020/68040 versions only).
  532.       This long outstanding bug has been fixed.
  533.     - p1Table-Render removed. Instead I've implemented an
  534.       EXTREMELY efficient p2table-Render. Overall performance
  535.       should be at least the same in most cases.
  536.       This step has some profound conceptional consequences.
  537.       It seems as if the whole library layout could be simplified
  538.       even further. Maybe there will be another rework to some
  539.       function interfaces. (Don't kill me, beta-testers...
  540.       this stuff isn't trivial!)
  541.  
  542.   0.78
  543.     - ConvertChunky() is now able to convert a chunky image
  544.       over itself. If you tried to do so with elder versions,
  545.       the result was okay, but the routine was by some hundered
  546.       times slower than it could (reason unknwon).
  547.  
  548.   0.77
  549.     - removed a bug that was introduced in v0.69.
  550.       If you created a turbo histogram, rendered to CLUT
  551.       without dither, and didn't specify a progress hook,
  552.       the code ran into a deadlock.
  553.     - Chunky2RGB() HAM8 bit sequence changed to %SSMMMMMM.
  554.     - Planar2Chunky()'s interface changed and supplied with an
  555.       additional taglist parameter
  556.     
  557.   0.76
  558.     - very nasty bug removed from AddChunkyImageA(). If you
  559.       specified a progress hook, the histogram was completely
  560.       corrupt.
  561.  
  562.   0.75
  563.     - removed a silly bug from Chunky2RGB that was introduced
  564.       in v0.73
  565.     - new tag for CreateRMHandlerA: RMHTYPE_MemFlags.
  566.  
  567.   0.74
  568.     - new autodocs completed.
  569.     - RND_MemHandler renamed to RND_RMHandler.
  570.     - Some constants have changed. You must recompile.
  571.     - Includes once again reworked.
  572.     - new terminology: libcall functions which receive taglist
  573.       parameters end with "...A" instead of "...TagList".
  574.       tagcall vararg stubs no longer end with "...Tags".
  575.  
  576.   0.73
  577.     - a histogram created by CreateHistogram() now has a default
  578.       palette consisting of 16 grey tones.
  579.     - AddChunkyImage() now calls a progress hook. Therefore you
  580.       may specify the RND_ProgressHook tag in AddChunkyImage()'s
  581.       taglist.
  582.     - some optimizations
  583.     - CreateConversionTable() has been renamed to
  584.       CreatePenTable().
  585.     - ConvertChunkyImage() has been renamed to ConvertChunky().
  586.     - RND_ConversionTable has been renamed to RND_PenTable
  587.  
  588.   0.72
  589.     - Heavy bugs removed from AddRGBImage(), ExtractPalette(),
  590.       and other functions.
  591.     - C includes were completely unusable. Fixed.
  592.     - Major rework of most include files.
  593.  
  594.   0.71
  595.     - There were the 0.69 versions of render.library in the
  596.       0.70 archive
  597.     - DeleteScaleEngine() was missing in the includes. Fixed.
  598.     - DeleteScaleEngine() crashed when the scaling-engine wasn't
  599.       created with a custom memhandler.
  600.  
  601.   0.70
  602.     - New interfaces for CreateRenderMemHandler, CreateHistogram,
  603.       Render, AddChunkyImage, AddRGBImage, ExtractPalette,
  604.       SetRenderPalette.
  605.     - Removed SetRGBWeight, SetProgressHook, SetRenderMode,
  606.       SetPaletteMode
  607.     - New functions: ModifyHistogram, QueryHistogram
  608.     - Autodocs not yet updated
  609.  
  610.   0.69
  611.     - p2table searcher now adapts to low-memory situations (not
  612.       fully tested yet)
  613.     - InitPenConversionTable() is no longer defined. A custom
  614.       conversion table may be passed to Chunky2BitMap() directly.
  615.     - p1table adaption callback is now executed every 128th
  616.       adaption. after completion the callback hook is once more
  617.       executed. This corrects minor optical problems with
  618.       progress bars.
  619.     - forgot E include renderhooks.m. Now included.
  620.     - New qualitative color reduction algorithm implemented.
  621.       Slightly faster. Very stable results even with different
  622.       histogram resolutions. Much better output with dither and
  623.       few colors.
  624.  
  625.   0.68
  626.     - I actually forgot to include the SetPaletteMode entry in
  627.       the library's build-up table. The machine crashed when
  628.       executed. Fixed.
  629.     - IMPORTANT: Interface for Scale() has changed - Scale now
  630.       handles two additional arguments: totalwidth for source and
  631.       destination. This allows processing of clip areas.
  632.     - The chunky8 scaling engine now requires less memory.
  633.     - chunky8 scaling optimized for vertical enlarge
  634.     - Heavy autodoc improvements, especially in respect to
  635.       amigaguide links to be created with AD2AG.
  636.  
  637.   0.67
  638.     - new function: SetPaletteMode.
  639.     - some palette sort methods implemented.
  640.     - minor autodoc and includes bugs fixed
  641.     - CreateChunkyConversionTable renamed to
  642.       CreateConversionTable
  643.     - fixed minor accuracy problems with the chunky scaling
  644.       engine
  645.  
  646.   0.66
  647.     - new functions: CreateChunkyConversionTable and
  648.       ConvertChunkyImage.
  649.     - removed two subtle bugs in the FS-dither code. The blue
  650.       error component was treat incorrectly.
  651.  
  652.   0.65
  653.     - CreateScaleEngine8, DeleteScaleEngine und Scale
  654.       implemented.
  655.     - Autodocs updated
  656.  
  657.   0.64
  658.     - initial internal beta release
  659.  
  660.